pub mod command;
pub mod nodes;
pub mod plugins;

use mf_core::{Extension, Extensions};
// 重新导出主要的结构体和工厂
use crate::nodes::node_definitions::RcjContainerNode;
pub use nodes::node_definitions::RcjNode;

/// 人材机节点工厂
pub struct RcjFactory;

impl RcjFactory {
    pub fn build() -> Vec<Extensions> {
        let mut extensions = Vec::new();
        let nodes = RcjFactory::create_rcj_node();
        for d in nodes {
            extensions.push(Extensions::N(d));
        }
        let mut base_schema_ext = Extension::new();
        extensions.push(Extensions::E(base_schema_ext));
        extensions
    }
    /// 创建人材机节点
    pub fn create_rcj_node() -> Vec<mf_core::node::Node> {
        vec![RcjContainerNode::node_definition(), RcjNode::node_definition()]
    }
}
